/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package View;

import controller.DesejosController;
import exception.DuplicateConstraintException;
import exception.RemoveConstraintException;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.inject.Inject;
import javax.inject.Named;
import model.entidades.Desejos;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.Conversation;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;

/**
 *
 * @author helton
 */
@Named
@ConversationScoped
public class DesejosView implements View, Serializable {

    @Inject
    Conversation conversation;
    @Inject
    DesejosController controller;
    @Inject
    ProfissionalView profissionalView;
    private Desejos desejo;
    private List<Desejos> desejos;
    private boolean perg1 = true;
    private boolean perg2 = false;
    private boolean p = true;
    private boolean perg3 = true;
    private boolean perg4 = true;

    @Override
    @PostConstruct
    public void init() {
        desejo = new Desejos();
    }

    @Override
    public void closeConversation(ActionEvent event) {
        conversation.close();
    }

    @Override
    public String actionNovo() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String actionSalvar() throws DuplicateConstraintException {
        desejo.setIdProfis(profissionalView.getProfissional().getId());
        desejo.setPlanEnv(perg2);
        if (desejo.getId() == null) {
            controller.insert(desejo);
            init();
        } else {
            controller.update(desejo);
            init();
        }
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
                FacesMessage.SEVERITY_INFO, "Suas informções foram salvas. Obrigado pela colaboração.", ""));
        conversation.close();
        desejos = null;
        return "dadosPessoal";
    }

    public String voltar() {
        return "vinculos";
    }

    @Override
    public String actionListar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void actionRemover() throws RemoveConstraintException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public Desejos getDesejo() {
        return desejo;
    }

    public void setDesejo(Desejos desejo) {
        this.desejo = desejo;
    }

    public List<Desejos> getDesejos() {
        if (desejos == null) {
            desejos = controller.getAll(profissionalView.getProfissional().getId());
        }
        return desejos;
    }

    public void setDesejos(List<Desejos> desejos) {
        this.desejos = desejos;
    }

    public boolean isPerg1() {
        return perg1;
    }

    public void setPerg1(boolean perg1) {
        this.perg1 = perg1;
    }

    public boolean isPerg2() {
        return perg2;
    }

    public void setPerg2(boolean perg2) {
        this.perg2 = perg2;
    }

    public boolean isPerg3() {
        return perg3;
    }

    public boolean isP() {
        return p;
    }

    public void setP(boolean p) {
        this.p = p;
    }

    public void setPerg3(boolean perg3) {
        this.perg3 = perg3;
    }

    public boolean isPerg4() {
        return perg4;
    }

    public void setPerg4(boolean perg4) {
        this.perg4 = perg4;
    }

    public void acaoBtP1() {
        if (perg1) {
            this.perg1 = true;
        } else {
            this.perg1 = false;
        }
    }

    public void acaoBtP2() {
        if (perg2) {
            this.perg2 = true;
            this.p = false;
        } else {
            this.perg2 = false;
            this.p = true;
        }
    }

    public void acaoBtP3() {
        if (perg3) {
            this.perg3 = true;
        } else {
            this.perg3 = false;
        }
    }

    public void acaoBtP4() {
        if (perg4) {
            this.perg4 = true;
        } else {
            this.perg4 = false;
        }
    }
}
